/*
 * Copyright (c) 2018-2999 九五云信息科技有限公司 All rights reserved.
 *
 * https://www.gz-yami.com/
 *
 */

package com.yami.shop.service;


import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yami.shop.bean.dto.FlowAnalysisDto;
import com.yami.shop.bean.dto.PageAnalysisDto;
import com.yami.shop.bean.dto.SystemDto;
import com.yami.shop.bean.model.FlowLog;
import com.yami.shop.bean.model.FlowUserAnalysis;
import com.yami.shop.bean.model.Order;
import com.yami.shop.bean.param.FlowAnalysisParam;
import com.yami.shop.bean.param.FlowUserAnalysisParam;
import com.yami.shop.common.util.PageParam;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 *
 *
 * @author YXF
 * @date 2020-07-17 09:50:13
 */
public interface FlowUserAnalysisService extends IService<FlowUserAnalysis> {

    void statisticalUserData(Map<String, List<FlowLog>> flowAnalysisLogMap, Date startTime, Map<String, FlowUserAnalysis> flowUserAnalysisMap);

    void statisticalPlaceOrderOrPayData(FlowLog flowLog, Order order, Map<String, FlowUserAnalysis> flowUserAnalysisMap);

    void getUserAnalysisData(FlowUserAnalysisParam flowUserAnalysisParam);

    FlowAnalysisDto getFlowAnalysisData(FlowAnalysisParam flowAnalysisParam);

    List<FlowAnalysisDto> flowTrend(FlowAnalysisParam flowAnalysisParam);

    List<FlowAnalysisDto> flowSour(FlowAnalysisParam flowAnalysisParam);

    SystemDto systemTypeNums(FlowAnalysisParam flowAnalysisParam);
}
